package socketmvc.core.packets.basic;

/**
 * 命令标记包
 * @author xueyanjun
 */
public interface ICommandPacket {

    String CMD_KEY = "@cmd";
    String PARAMS_KEY = "@par";
    String RESPONSE_KEY = "@cbn";
    String IS_RESPONSE_KEY = "@iscb";

    /**
     * 设置命令码
     */
    void setCommand(String command);

    /**
     * 获取命令码
     * @return 命令码
     */
    String getCommand();

    /**
     * 获取客户端回调
     * @return 客户端回调名称
     */
    String getResponseKey();

    /**
     * 设置本包为客户端的回调包
     */
    void setResponseKey(String echo);

    /**
     * 获取本包是否是客户端回复过来的回调包
     * @return true代表是回复包
     */
    boolean isResponsePkt();

    /**
     * 设置本包是回复包
     * @param isResponsePkt true代表是回复包
     */
    void setResponsePkt(boolean isResponsePkt);
}
